<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>输入和输出</title>
</head>
<body>
<script>
    // 定义一个生成器
    function* foo(x) {
        var y = x * (yield);
        yield y;
        return 'return :' + y
    }

    var g = foo(3); // 构造器一个迭代器
    console.log(g.next(4)); // 启动,生成器,执行到yield处挂起, 因为没有任何值被返回，所以{result: undefined,done:false}
    console.log(g.next(5)); // 传入5，执行var y = x * 5. 直到yield y, 挂起，返回{result:15, done:false}
    console.log(g.next(6)); // 执行return, {result: 'return :15', done:true}
</script>
</body>
</html>
